﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Manager;
using UnityEngine;

// Token: 0x0200029F RID: 671
public class CharaListInfo
{
	// Token: 0x06001090 RID: 4240 RVA: 0x000769B8 File Offset: 0x00074BB8
	public CharaListInfo()
	{
		this.lstRandLastNameH = new List<string>();
		this.lstRandLastNameK = new List<string>();
		this.lstRandFirstNameHF = new List<string>();
		this.lstRandFirstNameKF = new List<string>();
		this.lstRandFirstNameHM = new List<string>();
		this.lstRandFirstNameKM = new List<string>();
		this.lstRandMiddleName = new List<string>();
		this.dictAccessoryParentInfo = new Dictionary<string, string>();
	}

	// Token: 0x06001091 RID: 4241 RVA: 0x00076B2C File Offset: 0x00074D2C
	public virtual Dictionary<int, global::PersonalityIdInfo> GetPersonalityIdInfo()
	{
		return this.dictPersonalityIdInfo;
	}

	// Token: 0x06001092 RID: 4242 RVA: 0x00076B34 File Offset: 0x00074D34
	public virtual Dictionary<int, global::CharaSampleInfo> GetCharaSampleInfoF()
	{
		return this.dictCharaSampleInfoF;
	}

	// Token: 0x06001093 RID: 4243 RVA: 0x00076B3C File Offset: 0x00074D3C
	public virtual Dictionary<int, global::CharaSampleInfo> GetCharaSampleInfoM()
	{
		return this.dictCharaSampleInfoM;
	}

	// Token: 0x06001094 RID: 4244 RVA: 0x00076B44 File Offset: 0x00074D44
	public virtual Dictionary<int, global::RandomClothesInfo> GetRandomClothesInfoF()
	{
		return this.dictRandomClothesInfoF;
	}

	// Token: 0x17000253 RID: 595
	// (get) Token: 0x06001095 RID: 4245 RVA: 0x00076B4C File Offset: 0x00074D4C
	// (set) Token: 0x06001096 RID: 4246 RVA: 0x00076B54 File Offset: 0x00074D54
	public List<string> lstRandLastNameH { get; set; }

	// Token: 0x17000254 RID: 596
	// (get) Token: 0x06001097 RID: 4247 RVA: 0x00076B60 File Offset: 0x00074D60
	// (set) Token: 0x06001098 RID: 4248 RVA: 0x00076B68 File Offset: 0x00074D68
	public List<string> lstRandLastNameK { get; set; }

	// Token: 0x17000255 RID: 597
	// (get) Token: 0x06001099 RID: 4249 RVA: 0x00076B74 File Offset: 0x00074D74
	// (set) Token: 0x0600109A RID: 4250 RVA: 0x00076B7C File Offset: 0x00074D7C
	public List<string> lstRandFirstNameHF { get; set; }

	// Token: 0x17000256 RID: 598
	// (get) Token: 0x0600109B RID: 4251 RVA: 0x00076B88 File Offset: 0x00074D88
	// (set) Token: 0x0600109C RID: 4252 RVA: 0x00076B90 File Offset: 0x00074D90
	public List<string> lstRandFirstNameKF { get; set; }

	// Token: 0x17000257 RID: 599
	// (get) Token: 0x0600109D RID: 4253 RVA: 0x00076B9C File Offset: 0x00074D9C
	// (set) Token: 0x0600109E RID: 4254 RVA: 0x00076BA4 File Offset: 0x00074DA4
	public List<string> lstRandFirstNameHM { get; set; }

	// Token: 0x17000258 RID: 600
	// (get) Token: 0x0600109F RID: 4255 RVA: 0x00076BB0 File Offset: 0x00074DB0
	// (set) Token: 0x060010A0 RID: 4256 RVA: 0x00076BB8 File Offset: 0x00074DB8
	public List<string> lstRandFirstNameKM { get; set; }

	// Token: 0x17000259 RID: 601
	// (get) Token: 0x060010A1 RID: 4257 RVA: 0x00076BC4 File Offset: 0x00074DC4
	// (set) Token: 0x060010A2 RID: 4258 RVA: 0x00076BCC File Offset: 0x00074DCC
	public List<string> lstRandMiddleName { get; set; }

	// Token: 0x1700025A RID: 602
	// (get) Token: 0x060010A3 RID: 4259 RVA: 0x00076BD8 File Offset: 0x00074DD8
	// (set) Token: 0x060010A4 RID: 4260 RVA: 0x00076BE0 File Offset: 0x00074DE0
	public Dictionary<string, string> dictAccessoryParentInfo { get; set; }

	// Token: 0x060010A5 RID: 4261 RVA: 0x00076BEC File Offset: 0x00074DEC
	public virtual void EntryClothesIsInit()
	{
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			for (int i = 0; i < this.lstClothesIsInit.Count; i++)
			{
				global::Singleton<Manager.Game>.Instance.AddCustomID(this.lstClothesIsInit[i], 2);
			}
			for (int j = 0; j < this.lstClothesIsNew.Count; j++)
			{
				global::Singleton<Manager.Game>.Instance.AddCustomID(this.lstClothesIsNew[j], 1);
			}
		}*/
		this.lstClothesIsInit.Clear();
		this.lstClothesIsInit.TrimExcess();
		this.lstClothesIsNew.Clear();
		this.lstClothesIsNew.TrimExcess();
	}

	// Token: 0x060010A6 RID: 4262 RVA: 0x00076C98 File Offset: 0x00074E98
	public static byte CheckCustomID(int fullID)
	{
		return 2;
	}

	// Token: 0x060010A7 RID: 4263 RVA: 0x00076C9C File Offset: 0x00074E9C
	public static byte CheckCustomID(int category, int id)
	{
		return 2;
	}

	// Token: 0x060010A8 RID: 4264 RVA: 0x00076CA0 File Offset: 0x00074EA0
	public static void AddCustomID(int category, int id, byte flags)
	{
		int id2 = category * ((id < 1000) ? 1000 : 1000000) + id;
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			global::Singleton<Manager.Game>.Instance.AddCustomID(id2, flags);
		}*/
	}

	// Token: 0x060010A9 RID: 4265 RVA: 0x00076CDC File Offset: 0x00074EDC
	public static void AddConciergeCustomID()
	{
		string idstr = "205120/206087/207023/208027/212026/215088/352023/350060/354035";
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			global::Singleton<Manager.Game>.Instance.AddCustomID(idstr, 1);
		}*/
	}

	// Token: 0x060010AA RID: 4266 RVA: 0x00076D08 File Offset: 0x00074F08
	public static void AddCustomID_Achievement_08()
	{
		string idstr = "205121/206086/208026/212024/212025/213027/214046/215086/215087/350066/354041/360032/351016/350059";
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			global::Singleton<Manager.Game>.Instance.AddCustomID(idstr, 1);
		}*/
	}

	// Token: 0x060010AB RID: 4267 RVA: 0x00076D34 File Offset: 0x00074F34
	public static void AddCustomID_Achievement_14()
	{
		string idstr = "354042/354043";
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			global::Singleton<Manager.Game>.Instance.AddCustomID(idstr, 1);
		}*/
	}

	// Token: 0x060010AC RID: 4268 RVA: 0x00076D60 File Offset: 0x00074F60
	public static void AddCustomID_Achievement_15()
	{
		string idstr = "215094";
		/*if (global::Singleton<Manager.Game>.IsInstance())
		{
			global::Singleton<Manager.Game>.Instance.AddCustomID(idstr, 1);
		}*/
	}

	// Token: 0x060010AD RID: 4269 RVA: 0x00076D8C File Offset: 0x00074F8C
	public static bool CheckSitriClothesID(int category, int id)
	{
		int num = category * 1000 + id;
		int num2 = num;
		return num2 == 205120 || num2 == 206087 || num2 == 207023 || num2 == 208027 || num2 == 212026 || num2 == 215088 || num2 == 350060 || num2 == 352023 || num2 == 354035;
	}

	// Token: 0x060010AE RID: 4270 RVA: 0x00076E28 File Offset: 0x00075028
	public virtual global::PersonalityIdInfo GetPersonalityInfo(int personality)
	{
		global::PersonalityIdInfo personalityIdInfo = null;
		if (!this.dictPersonalityIdInfo.TryGetValue(personality, out personalityIdInfo))
		{
			return null;
		}
		return personalityIdInfo.Clone();
	}

	// Token: 0x060010AF RID: 4271 RVA: 0x00076E54 File Offset: 0x00075054
	public virtual bool IsPersonality(int personality)
	{
		return this.dictPersonalityIdInfo.ContainsKey(personality);
	}

	// Token: 0x060010B0 RID: 4272 RVA: 0x00076E6C File Offset: 0x0007506C
	public virtual string GetRandName(byte Sex)
	{
        return Sex.ToString();
        /*StringBuilder stringBuilder = new StringBuilder(64);
        stringBuilder.Length = 0;
        int tickCount = Environment.TickCount;
        int[] array = new int[100];
        int[] array2 = new int[100];
        for (int j = 0; j < 100; j++)
        {
            array[j] = j % 20;
        }
        UnityEngine.Random.seed = tickCount++;
        int num = UnityEngine.Random.Range(0, 100);
        array2 = (from i in array
        orderby Guid.NewGuid()
        select i).ToArray<int>();
        if (array2[num] == 0)
        {
            UnityEngine.Random.seed = tickCount++;
            num = UnityEngine.Random.Range(0, 100);
            array2 = (from i in array
            orderby Guid.NewGuid()
            select i).ToArray<int>();
            if (array2[num] == 0 || array2[num] == 1)
            {
                if (Sex == 0)
                {
                    UnityEngine.Random.seed = tickCount++;
                    if (this.lstRandFirstNameKM.Count != 0)
                    {
                        stringBuilder.Append(this.lstRandFirstNameKM[UnityEngine.Random.Range(0, this.lstRandFirstNameKM.Count)]);
                    }
                }
                else
                {
                    UnityEngine.Random.seed = tickCount++;
                    if (this.lstRandFirstNameKF.Count != 0)
                    {
                        stringBuilder.Append(this.lstRandFirstNameKF[UnityEngine.Random.Range(0, this.lstRandFirstNameKF.Count)]);
                    }
                }
            }
            else if (Sex == 0)
            {
                UnityEngine.Random.seed = tickCount++;
                if (this.lstRandFirstNameHM.Count != 0)
                {
                    stringBuilder.Append(this.lstRandFirstNameHM[UnityEngine.Random.Range(0, this.lstRandFirstNameKM.Count)]);
                }
            }
            else
            {
                UnityEngine.Random.seed = tickCount++;
                if (this.lstRandFirstNameHF.Count != 0)
                {
                    stringBuilder.Append(this.lstRandFirstNameHF[UnityEngine.Random.Range(0, this.lstRandFirstNameKF.Count)]);
                }
            }
        }
        else
        {
            UnityEngine.Random.seed = tickCount++;
            num = UnityEngine.Random.Range(0, 100);
            array2 = (from i in array
            orderby Guid.NewGuid()
            select i).ToArray<int>();
            if (array2[num] == 0 || array2[num] == 1)
            {
                if (Sex == 0)
                {
                    UnityEngine.Random.seed = tickCount++;
                    if (this.lstRandFirstNameKM.Count != 0)
                    {
                        stringBuilder.Append(this.lstRandFirstNameKM[UnityEngine.Random.Range(0, this.lstRandFirstNameKM.Count)]);
                    }
                }
                else
                {
                    UnityEngine.Random.seed = tickCount++;
                    if (this.lstRandFirstNameKF.Count != 0)
                    {
                        stringBuilder.Append(this.lstRandFirstNameKF[UnityEngine.Random.Range(0, this.lstRandFirstNameKF.Count)]);
                    }
                }
                stringBuilder.Append("・");
                string text = string.Empty;
                while (this.lstRandLastNameK.Count != 0)
                {
                    UnityEngine.Random.seed = tickCount++;
                    text = this.lstRandLastNameK[UnityEngine.Random.Range(0, this.lstRandLastNameK.Count)];
                    if (text.Length + stringBuilder.Length < 16)
                    {
                        IL_333:
                        if (string.Empty != text && stringBuilder.Length + text.Length < 10)
                        {
                            UnityEngine.Random.seed = tickCount++;
                            num = UnityEngine.Random.Range(0, 100);
                            array2 = (from i in array
                            orderby Guid.NewGuid()
                            select i).ToArray<int>();
                            if (array2[num] == 0 || array2[num] == 1)
                            {
                                UnityEngine.Random.seed = tickCount++;
                                string value = this.lstRandMiddleName[UnityEngine.Random.Range(0, this.lstRandMiddleName.Count)];
                                stringBuilder.Append(value).Append("・").Append(text);
                            }
                            else
                            {
                                stringBuilder.Append(text);
                            }
                        }
                        else
                        {
                            stringBuilder.Append(text);
                        }
                        goto IL_4DA;
                    }
                }
                goto IL_333;
            }
            UnityEngine.Random.seed = tickCount++;
            if (this.lstRandLastNameH.Count != 0)
            {
                stringBuilder.Append(this.lstRandLastNameH[UnityEngine.Random.Range(0, this.lstRandLastNameH.Count)]);
            }
            stringBuilder.Append(" ");
            if (Sex == 0)
            {
                UnityEngine.Random.seed = tickCount++;
                if (this.lstRandFirstNameHM.Count != 0)
                {
                    stringBuilder.Append(this.lstRandFirstNameHM[UnityEngine.Random.Range(0, this.lstRandFirstNameHM.Count)]);
                }
            }
            else
            {
                UnityEngine.Random.seed = tickCount++;
                if (this.lstRandFirstNameHF.Count != 0)
                {
                    stringBuilder.Append(this.lstRandFirstNameHF[UnityEngine.Random.Range(0, this.lstRandFirstNameHF.Count)]);
                }
            }
        }
        IL_4DA:
        if (stringBuilder.Length == 0)
        {
            return string.Empty;
        }
        return stringBuilder.ToString();*/
	}

	// Token: 0x060010B1 RID: 4273 RVA: 0x0007736C File Offset: 0x0007556C
	public virtual Dictionary<int, global::ListTypeFbx> GetFemaleFbxList(global::CharaListInfo.TypeFemaleFbx type, bool copy = true)
	{
		if (this.dictFbxFemale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictFbxFemale[(int)type] : new Dictionary<int, global::ListTypeFbx>(this.dictFbxFemale[(int)type]);
	}

	// Token: 0x060010B2 RID: 4274 RVA: 0x000773A0 File Offset: 0x000755A0
	public virtual Dictionary<int, global::ListTypeMaterial> GetFemaleMaterialList(global::CharaListInfo.TypeFemaleMaterial type, bool copy = true)
	{
		if (this.dictMatFemale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictMatFemale[(int)type] : new Dictionary<int, global::ListTypeMaterial>(this.dictMatFemale[(int)type]);
	}

	// Token: 0x060010B3 RID: 4275 RVA: 0x000773D4 File Offset: 0x000755D4
	public virtual Dictionary<int, global::ListTypeTexture> GetFemaleTextureList(global::CharaListInfo.TypeFemaleTexture type, bool copy = true)
	{
		if (this.dictTexFemale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictTexFemale[(int)type] : new Dictionary<int, global::ListTypeTexture>(this.dictTexFemale[(int)type]);
	}

	// Token: 0x060010B4 RID: 4276 RVA: 0x00077408 File Offset: 0x00075608
	public virtual Dictionary<int, global::ListTypeFbx> GetMaleFbxList(global::CharaListInfo.TypeMaleFbx type, bool copy = true)
	{
		if (this.dictFbxMale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictFbxMale[(int)type] : new Dictionary<int, global::ListTypeFbx>(this.dictFbxMale[(int)type]);
	}

	// Token: 0x060010B5 RID: 4277 RVA: 0x0007743C File Offset: 0x0007563C
	public virtual Dictionary<int, global::ListTypeMaterial> GetMaleMaterialList(global::CharaListInfo.TypeMaleMaterial type, bool copy = true)
	{
		if (this.dictMatMale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictMatMale[(int)type] : new Dictionary<int, global::ListTypeMaterial>(this.dictMatMale[(int)type]);
	}

	// Token: 0x060010B6 RID: 4278 RVA: 0x00077470 File Offset: 0x00075670
	public virtual Dictionary<int, global::ListTypeTexture> GetMaleTextureList(global::CharaListInfo.TypeMaleTexture type, bool copy = true)
	{
		if (this.dictTexMale[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictTexMale[(int)type] : new Dictionary<int, global::ListTypeTexture>(this.dictTexMale[(int)type]);
	}

	// Token: 0x060010B7 RID: 4279 RVA: 0x000774A4 File Offset: 0x000756A4
	public virtual Dictionary<int, global::ListTypeFbx> GetAccessoryFbxList(global::CharaListInfo.TypeAccessoryFbx type, bool copy = true)
	{
		if (this.dictFbxAccessory[(int)type] == null)
		{
			return null;
		}
		return (!copy) ? this.dictFbxAccessory[(int)type] : new Dictionary<int, global::ListTypeFbx>(this.dictFbxAccessory[(int)type]);
	}

	// Token: 0x060010B8 RID: 4280 RVA: 0x000774D8 File Offset: 0x000756D8
	public virtual bool LoadListInfoAll()
	{
		List<string> assetBundleNameListFromPath = global::CommonLib.GetAssetBundleNameListFromPath("list/characustom/", false);
		for (int i = 0; i < assetBundleNameListFromPath.Count; i++)
		{
			global::AssetBundleLoadAssetOperation assetBundleLoadAssetOperation = global::AssetBundleManager.LoadAllAsset(assetBundleNameListFromPath[i], typeof(TextAsset), null);
			if (assetBundleLoadAssetOperation == null)
			{
				string message = "読み込みエラー\r\nassetBundleName：" + assetBundleNameListFromPath[i];
				global::Debug.LogWarning(message);
			}
			else if (!assetBundleLoadAssetOperation.IsEmpty())
			{
				TextAsset[] allAssets = assetBundleLoadAssetOperation.GetAllAssets<TextAsset>();
				global::CharaListInfo.TypeFemaleFbx[] array = (global::CharaListInfo.TypeFemaleFbx[])Enum.GetValues(typeof(global::CharaListInfo.TypeFemaleFbx));
				foreach (global::CharaListInfo.TypeFemaleFbx typeFemaleFbx in array)
				{
					if (this.dictFbxFemale[(int)typeFemaleFbx] == null)
					{
						this.dictFbxFemale[(int)typeFemaleFbx] = new Dictionary<int, global::ListTypeFbx>();
					}
					foreach (TextAsset textAsset in allAssets)
					{
						if (textAsset.name.Contains(typeFemaleFbx.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeFbx>(this.dictFbxFemale[(int)typeFemaleFbx], textAsset);
						}
					}
				}
				global::CharaListInfo.TypeFemaleMaterial[] array4 = (global::CharaListInfo.TypeFemaleMaterial[])Enum.GetValues(typeof(global::CharaListInfo.TypeFemaleMaterial));
				foreach (global::CharaListInfo.TypeFemaleMaterial typeFemaleMaterial in array4)
				{
					if (this.dictMatFemale[(int)typeFemaleMaterial] == null)
					{
						this.dictMatFemale[(int)typeFemaleMaterial] = new Dictionary<int, global::ListTypeMaterial>();
					}
					foreach (TextAsset textAsset2 in allAssets)
					{
						if (textAsset2.name.Contains(typeFemaleMaterial.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeMaterial>(this.dictMatFemale[(int)typeFemaleMaterial], textAsset2);
						}
					}
				}
				global::CharaListInfo.TypeFemaleTexture[] array7 = (global::CharaListInfo.TypeFemaleTexture[])Enum.GetValues(typeof(global::CharaListInfo.TypeFemaleTexture));
				foreach (global::CharaListInfo.TypeFemaleTexture typeFemaleTexture in array7)
				{
					if (this.dictTexFemale[(int)typeFemaleTexture] == null)
					{
						this.dictTexFemale[(int)typeFemaleTexture] = new Dictionary<int, global::ListTypeTexture>();
					}
					foreach (TextAsset textAsset3 in allAssets)
					{
						if (textAsset3.name.Contains(typeFemaleTexture.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeTexture>(this.dictTexFemale[(int)typeFemaleTexture], textAsset3);
						}
					}
				}
				global::CharaListInfo.TypeMaleFbx[] array10 = (global::CharaListInfo.TypeMaleFbx[])Enum.GetValues(typeof(global::CharaListInfo.TypeMaleFbx));
				foreach (global::CharaListInfo.TypeMaleFbx typeMaleFbx in array10)
				{
					if (this.dictFbxMale[(int)typeMaleFbx] == null)
					{
						this.dictFbxMale[(int)typeMaleFbx] = new Dictionary<int, global::ListTypeFbx>();
					}
					foreach (TextAsset textAsset4 in allAssets)
					{
						if (textAsset4.name.Contains(typeMaleFbx.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeFbx>(this.dictFbxMale[(int)typeMaleFbx], textAsset4);
						}
					}
				}
				global::CharaListInfo.TypeMaleMaterial[] array13 = (global::CharaListInfo.TypeMaleMaterial[])Enum.GetValues(typeof(global::CharaListInfo.TypeMaleMaterial));
				foreach (global::CharaListInfo.TypeMaleMaterial typeMaleMaterial in array13)
				{
					if (this.dictMatMale[(int)typeMaleMaterial] == null)
					{
						this.dictMatMale[(int)typeMaleMaterial] = new Dictionary<int, global::ListTypeMaterial>();
					}
					foreach (TextAsset textAsset5 in allAssets)
					{
						if (textAsset5.name.Contains(typeMaleMaterial.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeMaterial>(this.dictMatMale[(int)typeMaleMaterial], textAsset5);
						}
					}
				}
				global::CharaListInfo.TypeMaleTexture[] array16 = (global::CharaListInfo.TypeMaleTexture[])Enum.GetValues(typeof(global::CharaListInfo.TypeMaleTexture));
				foreach (global::CharaListInfo.TypeMaleTexture typeMaleTexture in array16)
				{
					if (this.dictTexMale[(int)typeMaleTexture] == null)
					{
						this.dictTexMale[(int)typeMaleTexture] = new Dictionary<int, global::ListTypeTexture>();
					}
					foreach (TextAsset textAsset6 in allAssets)
					{
						if (textAsset6.name.Contains(typeMaleTexture.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeTexture>(this.dictTexMale[(int)typeMaleTexture], textAsset6);
						}
					}
				}
				global::CharaListInfo.TypeAccessoryFbx[] array19 = (global::CharaListInfo.TypeAccessoryFbx[])Enum.GetValues(typeof(global::CharaListInfo.TypeAccessoryFbx));
				foreach (global::CharaListInfo.TypeAccessoryFbx typeAccessoryFbx in array19)
				{
					if (this.dictFbxAccessory[(int)typeAccessoryFbx] == null)
					{
						this.dictFbxAccessory[(int)typeAccessoryFbx] = new Dictionary<int, global::ListTypeFbx>();
					}
					foreach (TextAsset textAsset7 in allAssets)
					{
						if (textAsset7.name.Contains(typeAccessoryFbx.ToString() + "_"))
						{
							this.LoadListInfo<global::ListTypeFbx>(this.dictFbxAccessory[(int)typeAccessoryFbx], textAsset7);
						}
					}
				}
				global::AssetBundleManager.UnloadAssetBundle(assetBundleNameListFromPath[i], true, null);
			}
		}
		this.GetRandNameList();
		List<string> assetBundleNameListFromPath2 = global::CommonLib.GetAssetBundleNameListFromPath("list/personality/", false);
		for (int num10 = 0; num10 < assetBundleNameListFromPath2.Count; num10++)
		{
			string str = string.Empty;
			string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(assetBundleNameListFromPath2[num10]);
			str = global::YS_Assist.GetStringRight(fileNameWithoutExtension, 2);
			this.GetPersonalityIdList(this.dictPersonalityIdInfo, assetBundleNameListFromPath2[num10], "personality_id_" + str);
		}
		List<string> assetBundleNameListFromPath3 = global::CommonLib.GetAssetBundleNameListFromPath("list/charasample/", false);
		for (int num11 = 0; num11 < assetBundleNameListFromPath3.Count; num11++)
		{
			string str2 = string.Empty;
			string fileNameWithoutExtension2 = Path.GetFileNameWithoutExtension(assetBundleNameListFromPath3[num11]);
			str2 = global::YS_Assist.GetStringRight(fileNameWithoutExtension2, 2);
			this.GetCharaSampleList(this.dictCharaSampleInfoM, assetBundleNameListFromPath3[num11], "sample_m_" + str2);
			this.GetCharaSampleList(this.dictCharaSampleInfoF, assetBundleNameListFromPath3[num11], "sample_f_" + str2);
		}
		List<string> assetBundleNameListFromPath4 = global::CommonLib.GetAssetBundleNameListFromPath("list/customrandom/", false);
		for (int num12 = 0; num12 < assetBundleNameListFromPath4.Count; num12++)
		{
			string str3 = string.Empty;
			string fileNameWithoutExtension3 = Path.GetFileNameWithoutExtension(assetBundleNameListFromPath4[num12]);
			str3 = global::YS_Assist.GetStringRight(fileNameWithoutExtension3, 2);
			this.GetRandomClothesList(this.dictRandomClothesInfoF, assetBundleNameListFromPath4[num12], "clothes_randf_" + str3);
		}
		this.dictAccessoryParentInfo["AP_Head"] = "頭";
		this.dictAccessoryParentInfo["AP_Megane"] = "眼鏡";
		this.dictAccessoryParentInfo["AP_Earring_L"] = "左耳";
		this.dictAccessoryParentInfo["AP_Earring_R"] = "右耳";
		this.dictAccessoryParentInfo["AP_Mouth"] = "口";
		this.dictAccessoryParentInfo["AP_Nose"] = "鼻";
		this.dictAccessoryParentInfo["AP_Neck"] = "首";
		this.dictAccessoryParentInfo["AP_Chest"] = "胸";
		this.dictAccessoryParentInfo["AP_Wrist_L"] = "左手首";
		this.dictAccessoryParentInfo["AP_Wrist_R"] = "右手首";
		this.dictAccessoryParentInfo["AP_Arm_L"] = "左腕";
		this.dictAccessoryParentInfo["AP_Arm_R"] = "右腕";
		this.dictAccessoryParentInfo["AP_Index_L"] = "左人差し指";
		this.dictAccessoryParentInfo["AP_Index_R"] = "右人差し指";
		this.dictAccessoryParentInfo["AP_Middle_L"] = "左中指";
		this.dictAccessoryParentInfo["AP_Middle_R"] = "右中指";
		this.dictAccessoryParentInfo["AP_Ring_L"] = "左薬指";
		this.dictAccessoryParentInfo["AP_Ring_R"] = "右薬指";
		this.dictAccessoryParentInfo["AP_Leg_L"] = "左足";
		this.dictAccessoryParentInfo["AP_Leg_R"] = "右足";
		this.dictAccessoryParentInfo["AP_Ankle_L"] = "左足首";
		this.dictAccessoryParentInfo["AP_Ankle_R"] = "右足首";
		this.dictAccessoryParentInfo["AP_Tikubi_L"] = "左乳首";
		this.dictAccessoryParentInfo["AP_Tikubi_R"] = "右乳首";
		this.dictAccessoryParentInfo["AP_Waist"] = "腰";
		this.dictAccessoryParentInfo["AP_Shoulder_L"] = "左肩";
		this.dictAccessoryParentInfo["AP_Shoulder_R"] = "右肩";
		this.dictAccessoryParentInfo["AP_Hand_L"] = "左手";
		this.dictAccessoryParentInfo["AP_Hand_R"] = "右手";
		Resources.UnloadUnusedAssets();
		GC.Collect();
		return true;
	}

	// Token: 0x060010B9 RID: 4281 RVA: 0x00077E48 File Offset: 0x00076048
	public virtual void GetPersonalityIdList(Dictionary<int, global::PersonalityIdInfo> dictData, string assetBundleName, string assetName)
	{
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		this.LoadListInfoString(dictionary, assetBundleName, assetName);
		foreach (KeyValuePair<int, string[]> keyValuePair in dictionary)
		{
			global::PersonalityIdInfo personalityIdInfo = new global::PersonalityIdInfo();
			personalityIdInfo.Set(keyValuePair.Value);
			dictData[personalityIdInfo.Id] = personalityIdInfo;
		}
	}

	// Token: 0x060010BA RID: 4282 RVA: 0x00077EC8 File Offset: 0x000760C8
	public virtual void GetCharaSampleList(Dictionary<int, global::CharaSampleInfo> dictData, string assetBundleName, string assetName)
	{
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		this.LoadListInfoString(dictionary, assetBundleName, assetName);
		foreach (KeyValuePair<int, string[]> keyValuePair in dictionary)
		{
			global::CharaSampleInfo charaSampleInfo = new global::CharaSampleInfo();
			charaSampleInfo.Set(keyValuePair.Value);
			dictData[charaSampleInfo.Id] = charaSampleInfo;
		}
	}

	// Token: 0x060010BB RID: 4283 RVA: 0x00077F48 File Offset: 0x00076148
	public virtual void GetRandomClothesList(Dictionary<int, global::RandomClothesInfo> dictData, string assetBundleName, string assetName)
	{
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		this.LoadListInfoString(dictionary, assetBundleName, assetName);
		foreach (KeyValuePair<int, string[]> keyValuePair in dictionary)
		{
			global::RandomClothesInfo randomClothesInfo = new global::RandomClothesInfo();
			randomClothesInfo.Set(keyValuePair.Value);
			dictData[randomClothesInfo.kind] = randomClothesInfo;
		}
	}

	// Token: 0x060010BC RID: 4284 RVA: 0x00077FC8 File Offset: 0x000761C8
	public virtual bool GetRandNameList()
	{
		string assetBundleName = "list/characustom/namelist.unity3d";
		string assetName = "RandNameList_Name";
		global::ExcelData excelData = global::CommonLib.LoadAsset<global::ExcelData>(assetBundleName, assetName, false, string.Empty);
		if (null == excelData)
		{
			global::Debug.LogError("ありえない");
			return false;
		}
		List<global::ExcelData.Param> list = excelData.Get(new global::ExcelData.Specify
		{
			cell = 2,
			row = 1
		}, new global::ExcelData.Specify
		{
			cell = 689,
			row = 7
		});
		int count = list.Count;
		if (count != 0)
		{
			this.lstRandLastNameH.Clear();
			this.lstRandLastNameK.Clear();
			this.lstRandFirstNameHF.Clear();
			this.lstRandFirstNameKF.Clear();
			this.lstRandFirstNameHM.Clear();
			this.lstRandFirstNameKM.Clear();
			this.lstRandMiddleName.Clear();
			for (int i = 0; i < count; i++)
			{
				if (string.Compare(list[i].list[0], "0") != 0)
				{
					this.lstRandLastNameH.Add(list[i].list[0]);
				}
				if (string.Compare(list[i].list[1], "0") != 0)
				{
					this.lstRandLastNameK.Add(list[i].list[1]);
				}
				if (string.Compare(list[i].list[2], "0") != 0)
				{
					this.lstRandFirstNameHF.Add(list[i].list[2]);
				}
				if (string.Compare(list[i].list[3], "0") != 0)
				{
					this.lstRandFirstNameKF.Add(list[i].list[3]);
				}
				if (string.Compare(list[i].list[4], "0") != 0)
				{
					this.lstRandFirstNameHM.Add(list[i].list[4]);
				}
				if (string.Compare(list[i].list[5], "0") != 0)
				{
					this.lstRandFirstNameKM.Add(list[i].list[5]);
				}
				if (string.Compare(list[i].list[6], "0") != 0)
				{
					this.lstRandMiddleName.Add(list[i].list[6]);
				}
			}
		}
		global::AssetBundleManager.UnloadAssetBundle(assetBundleName, true, null);
		return true;
	}

	// Token: 0x060010BD RID: 4285 RVA: 0x0007828C File Offset: 0x0007648C
	public virtual bool LoadListInfoString(Dictionary<int, string[]> dictData, string assetBundleName, string assetName)
	{
		TextAsset textAsset = global::CommonLib.LoadAsset<TextAsset>(assetBundleName, assetName, false, string.Empty);
		if (null == textAsset)
		{
			global::Debug.LogError("あってはならない");
			return false;
		}
		this.LoadListInfoString(dictData, textAsset);
		global::AssetBundleManager.UnloadAssetBundle(assetBundleName, true, null);
		return true;
	}

	// Token: 0x060010BE RID: 4286 RVA: 0x000782D4 File Offset: 0x000764D4
	public virtual bool LoadListInfoString(Dictionary<int, string[]> dictData, TextAsset ta)
	{
		string[,] array;
		global::YS_Assist.GetListString(ta.text, out array);
		int length = array.GetLength(0);
		int length2 = array.GetLength(1);
		if (length != 0 && length2 != 0)
		{
			for (int i = 0; i < length; i++)
			{
				string[] array2 = new string[length2];
				for (int j = 0; j < length2; j++)
				{
					array2[j] = array[i, j];
				}
				int key = int.Parse(array2[0]);
				dictData[key] = array2;
			}
		}
		return true;
	}

	// Token: 0x060010BF RID: 4287 RVA: 0x00078360 File Offset: 0x00076560
	public virtual bool LoadListInfo<T>(Dictionary<int, T> dictData, string assetPath, string resourcePath) where T : global::ListInfoBase, new()
	{
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		this.LoadListInfoString(dictionary, assetPath, resourcePath);
		return this.LoadListInfoSub<T>(dictData, dictionary);
	}

	// Token: 0x060010C0 RID: 4288 RVA: 0x00078388 File Offset: 0x00076588
	public virtual bool LoadListInfo<T>(Dictionary<int, T> dictData, TextAsset ta) where T : global::ListInfoBase, new()
	{
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		this.LoadListInfoString(dictionary, ta);
		return this.LoadListInfoSub<T>(dictData, dictionary);
	}

	// Token: 0x060010C1 RID: 4289 RVA: 0x000783AC File Offset: 0x000765AC
	public virtual bool LoadListInfoSub<T>(Dictionary<int, T> dictData, Dictionary<int, string[]> dictBuf) where T : global::ListInfoBase, new()
	{
		foreach (KeyValuePair<int, string[]> keyValuePair in dictBuf)
		{
			T t = Activator.CreateInstance<T>();
			t.Set(keyValuePair.Value);
			if (!("0" == t.Name))
			{
				dictData[t.Id] = t;
				if (t.IsGet == 1)
				{
					int item = t.Category * ((t.Id < 1000) ? 1000 : 1000000) + t.Id;
					this.lstClothesIsInit.Add(item);
				}
				else if (t.IsGet == 2)
				{
					int item2 = t.Category * ((t.Id < 1000) ? 1000 : 1000000) + t.Id;
					this.lstClothesIsNew.Add(item2);
				}
			}
		}
		return true;
	}

	// Token: 0x060010C2 RID: 4290 RVA: 0x00078504 File Offset: 0x00076704
	public static void CheckDuplicatedID(List<string> lstCheckFilePath)
	{
		int num = 0;
		global::Debug.Log("重複したIDのチェック開始…");
		Dictionary<int, string[]> dictionary = new Dictionary<int, string[]>();
		string text = string.Empty;
		for (int i = 0; i < lstCheckFilePath.Count; i++)
		{
			if (File.Exists(lstCheckFilePath[i]))
			{
				using (FileStream fileStream = new FileStream(lstCheckFilePath[i], FileMode.Open, FileAccess.Read, FileShare.Read))
				{
					using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8))
					{
						text = streamReader.ReadToEnd();
					}
				}
				Dictionary<int, string[]> dictionary2 = new Dictionary<int, string[]>();
				string[,] array;
				global::YS_Assist.GetListString(text, out array);
				int length = array.GetLength(0);
				int length2 = array.GetLength(1);
				if (length != 0 && length2 != 0)
				{
					for (int j = 0; j < length; j++)
					{
						string[] array2 = new string[length2];
						for (int k = 0; k < length2; k++)
						{
							array2[k] = array[j, k];
						}
						int key = int.Parse(array2[0]);
						dictionary2[key] = array2;
					}
				}
				foreach (KeyValuePair<int, string[]> keyValuePair in dictionary2)
				{
					int num2 = int.Parse(keyValuePair.Value[0]) / 1000;
					int num3 = int.Parse(keyValuePair.Value[0]) % 1000;
					int key2 = num2 * 1000 + num3;
					string text2 = keyValuePair.Value[2];
					string[] array3 = null;
					if (dictionary.TryGetValue(key2, out array3))
					{
						global::Debug.LogError("IDが重複:" + key2.ToString());
						string fileName = Path.GetFileName(array3[0]);
						global::Debug.LogWarning(fileName + "【" + array3[1] + "】");
						fileName = Path.GetFileName(lstCheckFilePath[i]);
						global::Debug.LogWarning(fileName + "【" + text2 + "】");
						num++;
					}
					string[] value = new string[]
					{
						lstCheckFilePath[i],
						text2
					};
					dictionary[key2] = value;
				}
			}
		}
		if (num == 0)
		{
			global::Debug.Log("重複したIDはありませんでした。");
		}
		else
		{
			global::Debug.Log("重複チェック終了");
		}
	}

	// Token: 0x040011DC RID: 4572
	public Dictionary<int, global::ListTypeFbx>[] dictFbxFemale = new Dictionary<int, global::ListTypeFbx>[Enum.GetNames(typeof(global::CharaListInfo.TypeFemaleFbx)).Length];

	// Token: 0x040011DD RID: 4573
	public Dictionary<int, global::ListTypeMaterial>[] dictMatFemale = new Dictionary<int, global::ListTypeMaterial>[Enum.GetNames(typeof(global::CharaListInfo.TypeFemaleMaterial)).Length];

	// Token: 0x040011DE RID: 4574
	public Dictionary<int, global::ListTypeTexture>[] dictTexFemale = new Dictionary<int, global::ListTypeTexture>[Enum.GetNames(typeof(global::CharaListInfo.TypeFemaleTexture)).Length];

	// Token: 0x040011DF RID: 4575
	public Dictionary<int, global::ListTypeFbx>[] dictFbxMale = new Dictionary<int, global::ListTypeFbx>[Enum.GetNames(typeof(global::CharaListInfo.TypeMaleFbx)).Length];

	// Token: 0x040011E0 RID: 4576
	public Dictionary<int, global::ListTypeMaterial>[] dictMatMale = new Dictionary<int, global::ListTypeMaterial>[Enum.GetNames(typeof(global::CharaListInfo.TypeMaleMaterial)).Length];

	// Token: 0x040011E1 RID: 4577
	public Dictionary<int, global::ListTypeTexture>[] dictTexMale = new Dictionary<int, global::ListTypeTexture>[Enum.GetNames(typeof(global::CharaListInfo.TypeMaleTexture)).Length];

	// Token: 0x040011E2 RID: 4578
	public Dictionary<int, global::ListTypeFbx>[] dictFbxAccessory = new Dictionary<int, global::ListTypeFbx>[Enum.GetNames(typeof(global::CharaListInfo.TypeAccessoryFbx)).Length];

	// Token: 0x040011E3 RID: 4579
	public Dictionary<int, global::PersonalityIdInfo> dictPersonalityIdInfo = new Dictionary<int, global::PersonalityIdInfo>();

	// Token: 0x040011E4 RID: 4580
	public Dictionary<int, global::CharaSampleInfo> dictCharaSampleInfoF = new Dictionary<int, global::CharaSampleInfo>();

	// Token: 0x040011E5 RID: 4581
	public Dictionary<int, global::CharaSampleInfo> dictCharaSampleInfoM = new Dictionary<int, global::CharaSampleInfo>();

	// Token: 0x040011E6 RID: 4582
	public Dictionary<int, global::RandomClothesInfo> dictRandomClothesInfoF = new Dictionary<int, global::RandomClothesInfo>();

	// Token: 0x040011E7 RID: 4583
	public List<int> lstClothesIsInit = new List<int>();

	// Token: 0x040011E8 RID: 4584
	public List<int> lstClothesIsNew = new List<int>();

	// Token: 0x040011F5 RID: 4597
	public bool MSlotID;

	// Token: 0x040011F6 RID: 4598
	public bool MSlotIDN;

	// Token: 0x020002A0 RID: 672
	public enum TypeFemaleFbx
	{
		// Token: 0x040011F8 RID: 4600
		cf_f_head,
		// Token: 0x040011F9 RID: 4601
		cf_f_hairB,
		// Token: 0x040011FA RID: 4602
		cf_f_hairF,
		// Token: 0x040011FB RID: 4603
		cf_f_hairS,
		// Token: 0x040011FC RID: 4604
		cf_f_hairO,
		// Token: 0x040011FD RID: 4605
		cf_f_top,
		// Token: 0x040011FE RID: 4606
		cf_f_bot,
		// Token: 0x040011FF RID: 4607
		cf_f_bra,
		// Token: 0x04001200 RID: 4608
		cf_f_shorts,
		// Token: 0x04001201 RID: 4609
		cf_f_swim,
		// Token: 0x04001202 RID: 4610
		cf_f_swimtop,
		// Token: 0x04001203 RID: 4611
		cf_f_swimbot,
		// Token: 0x04001204 RID: 4612
		cf_f_gloves,
		// Token: 0x04001205 RID: 4613
		cf_f_panst,
		// Token: 0x04001206 RID: 4614
		cf_f_socks,
		// Token: 0x04001207 RID: 4615
		cf_f_shoes
	}

	// Token: 0x020002A1 RID: 673
	public enum TypeFemaleMaterial
	{
		// Token: 0x04001209 RID: 4617
		cf_m_eyebrow,
		// Token: 0x0400120A RID: 4618
		cf_m_eyelashes,
		// Token: 0x0400120B RID: 4619
		cf_m_eyeball,
		// Token: 0x0400120C RID: 4620
		cf_m_eyehi,
		// Token: 0x0400120D RID: 4621
		cf_m_nip,
		// Token: 0x0400120E RID: 4622
		cf_m_underhair,
		// Token: 0x0400120F RID: 4623
		cf_m_siruhead,
		// Token: 0x04001210 RID: 4624
		cf_m_sirubody
	}

	// Token: 0x020002A2 RID: 674
	public enum TypeFemaleTexture
	{
		// Token: 0x04001212 RID: 4626
		cf_t_face,
		// Token: 0x04001213 RID: 4627
		cf_t_eyeshadow,
		// Token: 0x04001214 RID: 4628
		cf_t_cheek,
		// Token: 0x04001215 RID: 4629
		cf_t_lip,
		// Token: 0x04001216 RID: 4630
		cf_t_tattoo_f,
		// Token: 0x04001217 RID: 4631
		cf_t_mole,
		// Token: 0x04001218 RID: 4632
		cf_t_detail_f,
		// Token: 0x04001219 RID: 4633
		cf_t_body,
		// Token: 0x0400121A RID: 4634
		cf_t_sunburn,
		// Token: 0x0400121B RID: 4635
		cf_t_tattoo_b,
		// Token: 0x0400121C RID: 4636
		cf_t_detail_b
	}

	// Token: 0x020002A3 RID: 675
	public enum TypeMaleFbx
	{
		// Token: 0x0400121E RID: 4638
		cm_f_head,
		// Token: 0x0400121F RID: 4639
		cm_f_hair,
		// Token: 0x04001220 RID: 4640
		cm_f_body,
		// Token: 0x04001221 RID: 4641
		cm_f_shoes
	}

	// Token: 0x020002A4 RID: 676
	public enum TypeMaleMaterial
	{
		// Token: 0x04001223 RID: 4643
		cm_m_eyebrow,
		// Token: 0x04001224 RID: 4644
		cm_m_eyeball,
		// Token: 0x04001225 RID: 4645
		cm_m_beard
	}

	// Token: 0x020002A5 RID: 677
	public enum TypeMaleTexture
	{
		// Token: 0x04001227 RID: 4647
		cm_t_face,
		// Token: 0x04001228 RID: 4648
		cm_t_tattoo_f,
		// Token: 0x04001229 RID: 4649
		cm_t_detail_f,
		// Token: 0x0400122A RID: 4650
		cm_t_body,
		// Token: 0x0400122B RID: 4651
		cm_t_tattoo_b,
		// Token: 0x0400122C RID: 4652
		cm_t_detail_b
	}

	// Token: 0x020002A6 RID: 678
	public enum TypeAccessoryFbx
	{
		// Token: 0x0400122E RID: 4654
		ca_f_head,
		// Token: 0x0400122F RID: 4655
		ca_f_ear,
		// Token: 0x04001230 RID: 4656
		ca_f_megane,
		// Token: 0x04001231 RID: 4657
		ca_f_face,
		// Token: 0x04001232 RID: 4658
		ca_f_neck,
		// Token: 0x04001233 RID: 4659
		ca_f_shoulder,
		// Token: 0x04001234 RID: 4660
		ca_f_breast,
		// Token: 0x04001235 RID: 4661
		ca_f_waist,
		// Token: 0x04001236 RID: 4662
		ca_f_back,
		// Token: 0x04001237 RID: 4663
		ca_f_arm,
		// Token: 0x04001238 RID: 4664
		ca_f_hand,
		// Token: 0x04001239 RID: 4665
		ca_f_leg
	}
}
